﻿package plugin.roleN.handler
{
    import com.core.*;
    import flash.utils.*;
    import plugin.roleN.model.*;
    import pluginfw.nio.*;
    import pluginfw.nio.imsg.*;

    public class BaoShiHandler extends Object implements IGroupHandler
    {

        public function BaoShiHandler()
        {
            return;
        }// end function

        public function dealSimpleMessage(param1:ISimpleMessage) : void
        {
            return;
        }// end function

        public function dealBufferMessage(param1:IBufferMessage) : void
        {
            var _loc_3:Input = null;
            var _loc_5:int = 0;
            var _loc_6:Object = null;
            var _loc_7:Array = null;
            var _loc_8:int = 0;
            var _loc_9:int = 0;
            var _loc_10:int = 0;
            var _loc_11:int = 0;
            var _loc_12:int = 0;
            var _loc_13:int = 0;
            var _loc_14:int = 0;
            var _loc_2:* = new Object();
            _loc_3 = new Input(null);
            var _loc_4:* = param1.getBody();
            switch(param1.getCmd())
            {
                case CMDBaoShi.XiangQian:
                {
                    _loc_4.position = 0;
                    _loc_3.setBytes(_loc_4);
                    _loc_2.itemid = _loc_3.readVarInt(false);
                    _loc_2.pos = _loc_3.readVarInt(false);
                    _loc_2.index = _loc_3.readVarInt(false);
                    ModelProxy.change("baoshi", "change", _loc_2);
                    ModelProxy.change("baoshi", "updateShengji", _loc_2);
                    break;
                }
                case CMDBaoShi.Init:
                {
                    _loc_4.position = 0;
                    _loc_3.setBytes(_loc_4);
                    _loc_5 = _loc_3.readShort();
                    _loc_2.info = new Array();
                    _loc_9 = 0;
                    while (_loc_9 < _loc_5)
                    {
                        
                        _loc_10 = _loc_3.readByte();
                        if (_loc_10 != 0)
                        {
                            _loc_2.info[_loc_9] = new Object();
                            _loc_11 = _loc_3.readShort();
                            _loc_2.info[_loc_9].itemidList = new Array();
                            _loc_12 = 0;
                            while (_loc_12 < _loc_11)
                            {
                                
                                _loc_2.info[_loc_9].itemidList[_loc_12] = _loc_3.readVarInt(false);
                                _loc_12++;
                            }
                            _loc_2.info[_loc_9].pos = _loc_3.readVarInt(false);
                        }
                        _loc_9++;
                    }
                    ModelProxy.change("baoshi", "baoshiInfo", _loc_2.info);
                    ModelProxy.change("data", "baoshi", _loc_2.info);
                    ModelProxy.change("data", "BaoshiCount", _loc_2.info);
                    ModelProxy.change("role", "showBaoshiCount", null);
                    ModelProxy.change("mainview", "showBaoshiCount", null);
                    break;
                }
                case CMDBaoShi.KaiQi:
                {
                    _loc_4.position = 0;
                    _loc_3.setBytes(_loc_4);
                    _loc_2.pos = _loc_3.readVarInt(false);
                    ModelProxy.change("baoshi", "buwei", _loc_2);
                    _loc_6 = new Object();
                    _loc_6.pos = _loc_2.pos;
                    _loc_6.itemidList = [0, 0, 0, 0, 0, 0];
                    _loc_7 = ModelProxy.getValue("data", "baoshi");
                    if (!_loc_7)
                    {
                        _loc_7 = [];
                    }
                    _loc_7[_loc_2.pos] = _loc_6;
                    ModelProxy.change("data", "BaoshiCount", _loc_7);
                    ModelProxy.change("role", "showBaoshiCount", null);
                    ModelProxy.change("mainview", "showBaoshiCount", null);
                    break;
                }
                case CMDBaoShi.ReturnHeCheng:
                {
                    _loc_4.position = 0;
                    _loc_3.setBytes(_loc_4);
                    _loc_8 = _loc_3.readShort();
                    _loc_2.heChengList = new Array();
                    _loc_13 = 0;
                    while (_loc_13 < _loc_8)
                    {
                        
                        _loc_14 = _loc_3.readByte();
                        if (_loc_14 != 0)
                        {
                            _loc_2.heChengList[_loc_13] = new Object();
                            _loc_2.heChengList[_loc_13].id = _loc_3.readVarInt(false);
                            _loc_2.heChengList[_loc_13].num = _loc_3.readVarInt(false);
                        }
                        _loc_13++;
                    }
                    ModelProxy.change("baoshi", "updateHeCheng", _loc_2.heChengList);
                    break;
                }
                default:
                {
                    break;
                }
            }
            return;
        }// end function

        public function dealProxyMessage(param1:IProxyMessage) : void
        {
            return;
        }// end function

    }
}
